package com.randy.fundation;

import android.content.Context;
import android.util.DisplayMetrics;

public class DrawUtils {
    static Context sContext;

    public static void initialize(Context context) {
        sContext = context;
    }

    public static int pxToDp(Context context, int px) {
        DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
        return Math.round(px / (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
    }

    public static int dpToPx(Context context, int dp) {
        DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
        return Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
    }

    public static float density(Context context) {
        return context.getResources().getDisplayMetrics().density;
    }

    public static float density() {
        if (sContext == null) {
            JxAssert.failed("call DrawUtils.init() in application.onCreate()");
            return 1;
        }
        return sContext.getResources().getDisplayMetrics().density;
    }

    public static int dp2px(int dpValue){
        return Math.round(dpValue * density());
    }
    public static int px2dp(int pxValue){
        return Math.round(pxValue / density());
    }
}
